<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<%@ taglib prefix="sjg" uri="/struts-jquery-grid-tags"%>


<head>
<script type="text/javascript">
	$.subscribe('chargerReglements', function(event, data) {

		var grid = event.originalEvent.grid;
		var ligneId = grid.jqGrid('getGridParam', 'selrow');
		var factureId = grid.jqGrid('getCell', ligneId, 'id');

		var form = document.getElementById('afficherDetailFacture');

		if (form.idFactureSelectionnee.value != factureId) {
			form.idFactureSelectionnee.value = factureId;
			form.submit();
		}

	});

	$.subscribe('lienGererReglementFacture', function(event, data) {

		var idSource = document.getElementById('afficherDetailFacture').idFactureSelectionnee.value;

		var form = document.getElementById('formChargerReglementFacture');
		form.idGestionGeree.value = idSource;
		form.submit();

	});
</script>
</head>
<s:div id="listeFactures">
	<s:fielderror />
	<s:actionmessage />
	<s:actionerror />
	<s:url var="remplirListFactureAction" action="remplirListeFactures" />
	<s:text var="titreTableauFacture" name="facture.facture.titreTableau" />
	<sjg:grid gridModel="listeTableau" caption="%{titreTableauFacture}" dataType="json" href="%{remplirListFactureAction}"
		pager="true" pagerInput="false" rownumbers="true" rowList="10,20,30" rowNum="10" viewrecords="true" autowidth="true"
		hidegrid="true" onSelectRowTopics="chargerReglements">
		<s:text name="id" var="titreId" />
		<sjg:gridColumn name="id" key="true" index="id" title="%{titreId}" hidden="true" />
		<s:text var="titreSource" name="factureTableau.libelleSource.titre" />
		<sjg:gridColumn name="libelleSource" index="libelleSource" title="%{titreSource}" cssStyle="width:100px;" />
		<s:text var="titrePeriodicite" name="factureTableau.periodicite.titre" />
		<sjg:gridColumn name="periodicite" index="periodicite" title="%{titrePeriodicite}" />
		<s:text var="titreMontantDeBase" name="factureTableau.montantDeBase.titre" />
		<sjg:gridColumn name="montantDeBase" index="montantDeBase" title="%{titreMontantDeBase}" formatter="currency" />
		<s:text var="titrePayeurParDefaut" name="factureTableau.payeurParDefaut.titre" />
		<sjg:gridColumn name="payeurParDefaut" index="payeurParDefaut" title="%{titrePayeurParDefaut}" />
		<s:text var="titreMembresConcernesParDefaut" name="factureTableau.membresConcernesParDefaut.titre" />
		<sjg:gridColumn name="membresConcernesParDefaut" index="membresConcernesParDefaut"
			title="%{titreMembresConcernesParDefaut}" />
	</sjg:grid>
</s:div>
<s:div id="ajouterFacturesDiv" cssStyle="margin-top:20px;">
	<s:text var="titreAjouterFacture" name="facture.facture.ajouterFacture.titrePanel" />
	<sj:accordion heightStyle="content" animate="true" collapsible="true" active="false">
		<sj:accordionItem title="%{titreAjouterFacture}">
			<table>
				<tr>
					<td><s:form id="formAjouterFacture" action="ajouterFacture" validate="true">
							<s:text var="defautLibelleCombo" name="commun.comboBox.defaultLibelle" />
							<s:text var="sourceLibelleCombo" name="sourceId" />
							<s:select label="%{sourceLibelleCombo}" headerKey="-1" cssStyle="width:100%;" headerValue="%{defautLibelleCombo}"
								list="mapSourceFacture" name="factureAjout.sourceId" />
							<s:text var="periodiciteLibelleCombo" name="periodiciteCode" />
							<s:select label="%{periodiciteLibelleCombo}" headerKey="-" cssStyle="width:100%;"
								headerValue="%{defautLibelleCombo}" list="mapPeriodiciteFacture" name="factureAjout.periodiciteCode" />
							<s:text var="montantDeBaselibelle" name="montantDeBase" />
							<s:textfield label="%{montantDeBaselibelle}" name="factureAjout.montantDeBase" type="double" />
							<s:text var="payeurParDefautLibelle" name="payeurParDefaut" />
							<s:select label="%{payeurParDefautLibelle}" headerKey="-1" cssStyle="width:100%;"
								headerValue="%{defautLibelleCombo}" list="mapPayeurParDefaut" name="factureAjout.payeurParDefautId" />
							<s:text var="membresConcernesParDefautLibelle" name="membresConcernesParDefaut" />
							<s:checkboxlist list="mapMembresConcernesParDefaut" label="%{membresConcernesParDefautLibelle}"
								name="factureAjout.membresParDefautSelectionnes" />
						</s:form></td>
					<td align="center" valign="middle" width="250px"><sj:a formIds="formAjouterFacture" button="true"
							buttonIcon="ui-icon-plusthick">
							<s:text name="commun.bouton.ajouter.titre" />
						</sj:a></td>
				</tr>
			</table>
		</sj:accordionItem>
	</sj:accordion>
</s:div>
<s:div id="afficherDetailFactureDiv" cssStyle="margin-top:20px;">
	<s:form action="afficherDetailFacture">
		<s:hidden name="idFactureSelectionnee" />
	</s:form>
	<s:if test="idFactureSelectionnee != null">
		<s:form id="supprimerFacture" action="supprimerFacture">
			<s:hidden name="idFactureSelectionnee" />
		</s:form>
		<s:push value="factureDetail">
			<s:text var="titreDetailFacture" name="facture.facture.detailFacture.titrePanel">
				<s:param>
					<s:property value="source.libelle" />
				</s:param>
				<s:param>
					<s:property value="periodiciteEnum.libelle" />
				</s:param>
			</s:text>
		</s:push>
		<sj:accordion heightStyle="content" animate="true" collapsible="true">
			<sj:accordionItem title="%{titreDetailFacture}">
				<table>
					<tr>
						<td style="min-width: 390px;"><s:form id="formModifierFacture" action="modifierFacture" validate="true">
								<s:hidden name="idFactureSelectionnee" />
								<s:select label="%{sourceLibelleCombo}" headerKey="-1" cssStyle="width:100%;"
									headerValue="%{defautLibelleCombo}" list="mapSourceFacture" name="factureModif.sourceId" />
								<s:select label="%{periodiciteLibelleCombo}" headerKey="-" cssStyle="width:100%;"
									headerValue="%{defautLibelleCombo}" list="mapPeriodiciteFacture" name="factureModif.periodiciteCode" />
								<s:textfield label="%{montantDeBaselibelle}" name="factureModif.montantDeBase" type="double" />
								<s:select label="%{payeurParDefautLibelle}" headerKey="-1" cssStyle="width:100%;"
									headerValue="%{defautLibelleCombo}" list="mapPayeurParDefaut" name="factureModif.payeurParDefautId" />
								<s:checkboxlist list="mapMembresConcernesParDefaut" label="%{membresConcernesParDefautLibelle}"
									name="factureModif.membresParDefautSelectionnes" value="factureModif.listMembresParDefautSelectionnes" />
							</s:form></td>
						<td align="center" valign="middle" style="min-width: 150px;"><sj:a formIds="formModifierFacture"
								button="true" buttonIcon="ui-icon-pencil" cssStyle="width:94%;">
								<s:text name="commun.bouton.modifier.titre" />
							</sj:a> <sj:a formIds="supprimerFacture" button="true" buttonIcon="ui-icon-closethick"
								cssStyle="margin-top:15px;width:94%;">
								<s:text name="commun.bouton.supprimer.titre" />
							</sj:a></td>
						<td width="100%"></td>
						<td valign="middle" style="min-width: 370px;"><s:url var="remplirListeReglementsAction"
								action="remplirDerniersReglementsFacture" /> <s:text var="titreTableauReglements"
								name="facture.reglements.derniers.titreTableau" /> <sjg:grid gridModel="listeTableau"
								caption="%{titreTableauReglements}" dataType="json" href="%{remplirListeReglementsAction}" width="350"
								sortable="true">
								<s:text var="titreReglementId" name="id" />
								<sjg:gridColumn name="id" key="true" index="id" title="%{titreReglementId}" hidden="true" sortable="false" />
								<s:text var="titreLibellePayeur" name="reglementFactureTableau.libellePayeur.titre" />
								<sjg:gridColumn name="libellePayeur" index="libellePayeur" title="%{titreLibellePayeur}" sortable="false" />
								<s:text var="titreDatePayement" name="reglementFactureTableau.datePayement.titre" />
								<sjg:gridColumn name="datePayement" index="datePayement" title="%{titreDatePayement}" sortable="false" />
								<s:text var="titreMontant" name="reglementFactureTableau.montant.titre" />
								<sjg:gridColumn name="montant" index="montant" title="%{titreMontant}" sortable="false" />
							</sjg:grid></td>
						<td align="center" valign="middle" style="min-width: 150px;"><s:form id="formChargerReglementFacture"
								action="chargerReglementFacture">
								<s:hidden name="idGestionGeree" />
							</s:form> <sj:a href="%{idFacture}" button="true" buttonIcon="ui-icon-gear" onClickTopics="lienGererReglementFacture">
								<s:text name="facture.reglements.afficherReglements.bouton" />
							</sj:a></td>
					</tr>
				</table>
			</sj:accordionItem>
		</sj:accordion>
	</s:if>
</s:div>